home *** CD-ROM | disk | FTP | other *** search
/ Scene 96 / Scene 96 International Edition (Zyklop Software) (Disc 2) (1997).iso / misc / coding / cp2dekit / h / xmplay.h < prev   
Encoding:
C/C++ Source or Header  |  1996-12-28  |  1.1 KB  |  57 lines

  1. struct envelope;
  2. struct instrument;
  3. struct sample;
  4. struct sampleinfo;
  5.  
  6. struct xmodule
  7. {
  8.   char name[21];
  9.   int linearfreq;
  10.   int nchan;
  11.   int ninst;
  12.   int nenv;
  13.   int npat;
  14.   int nord;
  15.   int nsamp;
  16.   int nsampi;
  17.   int loopord;
  18.   unsigned char initempo;
  19.   unsigned char inibpm;
  20.  
  21.   envelope *envelopes;
  22.   sample *samples;
  23.   instrument *instruments;
  24.   sampleinfo *sampleinfos;
  25.   unsigned short *patlens;
  26.   unsigned char (**patterns)[5];
  27.   unsigned short *orders;
  28. };
  29.  
  30. enum
  31. {
  32.   xmpFXIns=0,
  33.   xmpFXNote=1,
  34.   xmpFXVol=2,
  35.   xmpFXCmd=3,
  36.   xmpFXData=4
  37. };
  38.  
  39. int xmpLoadModule(xmodule &m, binfile &f);
  40. int xmpLoadMOD(xmodule &m, binfile &f);
  41. void xmpFreeModule(xmodule &m);
  42.  
  43. int xmpPlayModule(xmodule &m);
  44. void xmpStopModule();
  45. void xmpSetPos(int ord, int row);
  46.  
  47. void xmpGetRealVolume(int i, int &l, int &r);
  48. void xmpMute(int i, int m);
  49. int xmpGetLChanSample(int ch, short *b, int len, int rate);
  50. unsigned short xmpGetPos();
  51. int xmpGetDotsData(int ch, int &smp, int &frq, int &l, int &r, int &sus);
  52. int xmpLoop();
  53. void xmpSetLoop(int);
  54. int xmpGetChanIns(int);
  55. int xmpGetChanSamp(int);
  56. int xmpChanActive(int);
  57.